From: Stefano Stabellini Date: Thu, 28 Jun 2012 14:45:59 +0000 (+0100) Subject: libxl: do not ignore the per-device msitranslate and power_mgmt opts X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~8278 X-Git-Url: https://dgit.raspbian.org/%22http:/www.example.com/cgi/%22https://%22%22/%22http:/www.example.com/cgi/%22https:/%22%22?a=commitdiff_plain;h=c9782bae2b97aa39d792c56d308b239ead204c44;p=xen.git libxl: do not ignore the per-device msitranslate and power_mgmt opts Do not ignore the per-device msitranslate and power_mgmt options: they need to be appended to the bdf. Signed-off-by: Stefano Stabellini Acked-by: Ian Campbell Committed-by: Ian Jackson --- diff --git a/tools/libxl/libxl_pci.c b/tools/libxl/libxl_pci.c index de1b79f577..28a11afbb0 100644 --- a/tools/libxl/libxl_pci.c +++ b/tools/libxl/libxl_pci.c @@ -21,6 +21,7 @@ #define PCI_BDF "%04x:%02x:%02x.%01x" #define PCI_BDF_SHORT "%02x:%02x.%01x" #define PCI_BDF_VDEVFN "%04x:%02x:%02x.%01x@%02x" +#define PCI_OPTIONS "msitranslate=%d,power_mgmt=%d" #define PCI_BDF_XSPATH "%04x-%02x-%02x-%01x" static unsigned int pcidev_encode_bdf(libxl_device_pci *pcidev) @@ -814,12 +815,14 @@ static int qemu_pci_add_xenstore(libxl__gc *gc, uint32_t domid, path = libxl__sprintf(gc, "/local/domain/0/device-model/%d/parameter", domid); if (pcidev->vdevfn) { - libxl__xs_write(gc, XBT_NULL, path, PCI_BDF_VDEVFN, + libxl__xs_write(gc, XBT_NULL, path, PCI_BDF_VDEVFN","PCI_OPTIONS, pcidev->domain, pcidev->bus, pcidev->dev, - pcidev->func, pcidev->vdevfn); + pcidev->func, pcidev->vdevfn, pcidev->msitranslate, + pcidev->power_mgmt); } else { - libxl__xs_write(gc, XBT_NULL, path, PCI_BDF, pcidev->domain, - pcidev->bus, pcidev->dev, pcidev->func); + libxl__xs_write(gc, XBT_NULL, path, PCI_BDF","PCI_OPTIONS, + pcidev->domain, pcidev->bus, pcidev->dev, + pcidev->func, pcidev->msitranslate, pcidev->power_mgmt); } libxl__qemu_traditional_cmd(gc, domid, "pci-ins");